The worldwide network of computers commonly known as the "Internet" has seen explosive growth in the last several years. Much of this growth has been driven by the increase in popularity of the World Wide Web (WWW). The WWW is a collection of files written using HyperText Markup Language (HTML), commonly referred to as "Web pages." HTML files may be accessed and displayed using specialized applications known as "web" browsers, which allow a user to access HTML files using a simple graphical user interface (GUI).
Servers hosting HTML files can communicate using the Hypertext Transfer Protocol (HTTP). HTTP is an application protocol that provides users access to files (which can be in different formats such as text, graphics, images, sound, video, etc.) using the HTML page description language. HTML provides basic document formatting and allows the developer to specify communication "links" to other servers and files. Use of an HTML-compliant client browser involves specification of a link via a Uniform Resource Locator or "URL." Upon such specification, the client makes a TCP/IP request to the server identified in the link and receives a "Web page" in return. Further, organizations can provide HTML files that are accessible from within the organization but not from the WWW. These internal networks and collections of HTML files are commonly referred to as "Intranets."
A file written using HTML includes "tags," which indicate to a browser displaying the file when special action should be taken. For example, a tag may indicate to the browser: (1) that a graphics file should be displayed at a particular point in the document; (2) that certain text should centered, bolded, or otherwise formatted; (3) that the background of a document should be shaded or have a particular pattern; or (4) that a different HTML should be loaded in place of the HTML the browser is currently displaying.
One major drawback of HTML files, however, is that they are inherently static. That is, HTML is a "display only" language, which does not easily permit execution of applications within an HTML page. Companies seeking to leverage the popularity and ubiquity of the WWW are increasingly looking for ways to embed applications within an HTML file.
One attempt to allow HTML files to provide an execution environment for applications is the use of interpretive languages, sometimes known as "byte code" languages, typified by the JAVA programming language. A JAVA program, usually called an applet, is completely downloaded to the client before executing. This may be problematic for clients lacking sufficient memory to download the entire applet and, even if the client has enough memory, requires the client to wait for the applet to download. Similarly, the usual benefits achieved in a client-server environment are reduced because the JAVA applet is downloaded to and executed on the client, which typically has a lower bandwidth connection and a slower processing speed than a server.